Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## rdlc.sw
Class ClassMethod

    java.lang.Object
      rdlc.naming.Catalog<java.lang.String,V>
          rdlc.naming.HierarchicalCatalog<Field>
              rdlc.rdl.Instance
                  rdlc.sw.Instance_Base
                      rdlc.sw.ClassMethod

All Implemented Interfaces:
  Expression, Field

    public class ClassMethod

extends Instance_Base

Class to represent a member method of a `Class`. Methods may also have members, namely variables for arguments, and of course a return type.

Version:
  $Revision: 1.13 $
Author:
  Greg Gibeling

Nested Class Summary

Nested classes/interfaces inherited from class rdlc.rdl.Instance
`Instance.Accessor, Instance.Identifier, Instance.LateBindField, Instance.QualifiedIdentifier`

Nested classes/interfaces inherited from class rdlc.naming.HierarchicalCatalog
`HierarchicalCatalog.DefaultAccessor<_V>`

Nested classes/interfaces inherited from interface rdlc.sw.Field
`Field.Access`

Nested classes/interfaces inherited from interface rdlc.rdl.Expression
`Expression.Phase`

Field Summary
`protected java.lang.String` | `description` A brief description of this method, for use in auto-generated javadocs.
`protected boolean` | `isPrototype` Is this method a prototype?
`protected boolean` | `isSynchronized` Is this methd synchronized? (Note that in java the meaning of this is clear, but in C++ it must be implemented using libraries).
`protected ClassMethod` | `prototype` The prototype method, that this (non-prototype) method implements.
`protected Type` | `type` The type (return type) of this method.

Fields inherited from class rdlc.sw.Instance_Base
`access`

Fields inherited from class rdlc.rdl.Instance
`bound, copied, copySource, dynRoot, lateBindFieldList, namespace, resolved`

Fields inherited from class rdlc.naming.HierarchicalCatalog
`cachedIdentifier, cachedRoot, name, parent`

Fields inherited from class rdlc.naming.Catalog
`entryList, indexTable`

Constructor Summary
`ClassMethod(java.lang.String _name, Instance _instance, ClassMethod other, java.util.List<Type_Reference> inheritanceList)` Copy constructor, used during prototype method implementation.
`ClassMethod(java.lang.String _name, Instance _instance, Field.Access _access, boolean _isPrototype, boolean _isSynchronized, Type _type, java.lang.String _description)` Default constructor, simply stores all of it's arguments.

Method Summary
`void` | `add(Field_Named _fieldNamed)` Add the given named field to this instance.
`Field` | `copy(java.lang.String _name, Instance _instance)` Create a copy of this field in the given instance.
`Field` | `copy(java.lang.String _name, Instance _instance, java.util.List<Type_Reference> inheritanceList)` A specialized field copy method designed to handle resolution of type arguments through a complicated inheritance hierarchy.
`java.lang.String` | `getDescription()` Simple accessor.
`ClassMethod` | `getPrototype()` Simple accessor.
`void` | `getRequirements(CatalogSet<Identifier<Declaration>> requirements)` An instance only depends on the dependancies of it's fields (and of course it's fields).
`Type` | `getType()` Simple accessor.
`boolean` | `isPrototype()` Simple accessor.
`boolean` | `isSynchronized()` Simple accessor.

Methods inherited from class rdlc.sw.Instance_Base
`getAccess`

Methods inherited from class rdlc.rdl.Instance
`add, bindFields, copySubInstance, createIdentifier, getDynRoot, resolve, setInstance, setNamespace, setRawDynamicID, toString, typeMatch`

Methods inherited from class rdlc.naming.HierarchicalCatalog
`connectParent, getIdentifier, getName, getParent, getRoot, hashCode`

Methods inherited from class rdlc.naming.Catalog
`clear, containsKey, entryList, get, get, getKey, isEmpty, keySet, put, put, putAll, remove, size`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait`

Methods inherited from interface rdlc.rdl.Field
`getIdentifier, setInstance, setRawDynamicID`

Methods inherited from interface rdlc.rdl.Expression
`resolve, setNamespace, typeMatch`

Field Detail

### type

    protected Type type

  The type (return type) of this method.

### description

    protected java.lang.String description

  A brief description of this method, for use in auto-generated javadocs.

### isPrototype

    protected boolean isPrototype

  Is this method a prototype?

### prototype

    protected ClassMethod prototype

  The prototype method, that this (non-prototype) method implements.

### isSynchronized

    protected boolean isSynchronized

  Is this methd synchronized? (Note that in java the meaning of this is clear, but in C++ it must be implemented using libraries).

Constructor Detail

### ClassMethod

    public ClassMethod(java.lang.String _name,
                       Instance _instance,
                       Field.Access _access,
                       boolean _isPrototype,
                       boolean _isSynchronized,
                       Type _type,
                       java.lang.String _description)

  Default constructor, simply stores all of it's arguments.

  Parameters:
    `_name` - The name of this method.
    `_instance` - The class instance to add this method to.
    `_access` - The access level of this method with it's class.
    `_isPrototype` - Is this method a prototype?
    `_isSynchronized` - Is this method synchronized in the java sense.
    `_type` - The type (return type) of this method.
    `_description` - A brief description of this method, for auto-generated javadocs.

### ClassMethod

    public ClassMethod(java.lang.String _name,
                       Instance _instance,
                       ClassMethod other,
                       java.util.List<Type_Reference> inheritanceList)

  Copy constructor, used during prototype method implementation.

  Parameters:
    `_name` - The name to give the new method.
    `_instance` - The instance to add the new method to.
    `other` - The old method to copy.
    `inheritanceList` - A list of type references representing the inheritance hierarchy. This is used for type argument (template parameter) resolution.
  See Also:
    `ClassInstance.generateInheritedDefaults()`

Method Detail

### copy

    public Field copy(java.lang.String _name,
                      Instance _instance)

  Description copied from interface: `Field`
  Create a copy of this field in the given instance. This is highly useful during dynamic hierarchy copying and during back end generation.

  Parameters:
    `_name` - The new name to use.
    `_instance` - The instance the copy should be a member of.
  See Also:
    `Field.copy(String, Instance)`

### copy

    public Field copy(java.lang.String _name,
                      Instance _instance,
                      java.util.List<Type_Reference> inheritanceList)

  A specialized field copy method designed to handle resolution of type arguments through a complicated inheritance hierarchy.

  See Also:
    `Field.copy(String, Instance)`, `ClassInstance.generateInheritedDefaults()`

### add

    public void add(Field_Named _fieldNamed)

  Description copied from class: `Instance`
  Add the given named field to this instance. For an instance which has not been resolved this will add it to the late binding list for binding during `resolve()`. Whereas for an instance which has already been resolved this will add the field directly in. In both cases it will call `setInstance` as appropriate.

  Overrides:
    `add` in class `Instance`
  Parameters:
    `_fieldNamed` - The named field being added to this instance.
  See Also:
    `Instance.add(Field_Named)`

### getDescription

    public java.lang.String getDescription()

  Simple accessor.

  Returns:
    The description of this method.

### getType

    public Type getType()

  Simple accessor.

  Returns:
    The type (return type) of this method.

### isPrototype

    public boolean isPrototype()

  Simple accessor.

  Returns:
    `true` if this method is a prototype (pure virtual).

### isSynchronized

    public boolean isSynchronized()

  Simple accessor.

  Returns:
    `true` if this method is synchronized in the java sense.

### getPrototype

    public ClassMethod getPrototype()

  Simple accessor.

  Returns:
    The prototype method, which this (non-prototype) method is implementing.
  See Also:
    `ClassInstance.generateInheritedDefaults()`

### getRequirements

    public void getRequirements(CatalogSet<Identifier<Declaration>> requirements)

  Description copied from class: `Instance`
  An instance only depends on the dependancies of it's fields (and of course it's fields).

  Specified by:
    `getRequirements` in interface `Expression`
  Overrides:
    `getRequirements` in class `Instance`
  Parameters:
    `requirements` - A list to which this will add the declarations upon which this one relies.
  See Also:
    `Expression.getRequirements(CatalogSet)`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD